package com.ys.entity.sys;

import javax.persistence.Table;


import java.util.Date;

import com.ys.entity.base.BaseEntity;

/**
*/
@Table(name="lili_admin.`sys_menu`", catalog="id")
public class SysMenu extends BaseEntity<SysMenu> {

	private Long id; // 主键ID
	private Long pid; // 父菜单ID
	private Integer lev; // 菜单等级（一级菜单,二级菜单）
	private Integer templetType; // 菜单模板类型，1普通列表2树
	private String templetPath; // 自定义链接地址，以/开头
	private String name; // 菜单名称
	private String databaseTable; // 关联表名
	private Integer sortNo; // 排序序号
	private String nameShiroAuth; // SHIRO授权名称
	private Long flowModelId; // 流程模型ID
	private String pathGridRequest; // 请求路径，为空使用默认/api/inter/xxx/xxx
	private String pathGridEditRequest; // 表格上编辑保存地址
	private String pathGridExportRequest; // 数据导出请求地址
	private String pathCommitAdd; // 新增表单提交地址
	private String pathCommitEdit; // 编辑表单提交地址
	private String pathCommitDelete; // 表单删除地址
	private String pathFlowPass; // 
	private String pathFlowRefuse; // 
	private Long subGridId; // 子列表ID
	private String icon; // 图标
	private Integer status; // 
	private Date createTime; // 
	private Date updateTime; // 

	public Long getId() {
		return id;
	}
	public SysMenu setId(Long id) {
		this.id = id;
		return this;
	}
	public Long getPid() {
		return pid;
	}
	public SysMenu setPid(Long pid) {
		this.pid = pid;
		return this;
	}
	public Integer getLev() {
		return lev;
	}
	public SysMenu setLev(Integer lev) {
		this.lev = lev;
		return this;
	}
	public Integer getTempletType() {
		return templetType;
	}
	public SysMenu setTempletType(Integer templetType) {
		this.templetType = templetType;
		return this;
	}
	public String getTempletPath() {
		return templetPath;
	}
	public SysMenu setTempletPath(String templetPath) {
		this.templetPath = templetPath;
		return this;
	}
	public String getName() {
		return name;
	}
	public SysMenu setName(String name) {
		this.name = name;
		return this;
	}
	public String getDatabaseTable() {
		return databaseTable;
	}
	public SysMenu setDatabaseTable(String databaseTable) {
		this.databaseTable = databaseTable;
		return this;
	}
	public Integer getSortNo() {
		return sortNo;
	}
	public SysMenu setSortNo(Integer sortNo) {
		this.sortNo = sortNo;
		return this;
	}
	public String getNameShiroAuth() {
		return nameShiroAuth;
	}
	public SysMenu setNameShiroAuth(String nameShiroAuth) {
		this.nameShiroAuth = nameShiroAuth;
		return this;
	}
	public Long getFlowModelId() {
		return flowModelId;
	}
	public SysMenu setFlowModelId(Long flowModelId) {
		this.flowModelId = flowModelId;
		return this;
	}
	public String getPathGridRequest() {
		return pathGridRequest;
	}
	public SysMenu setPathGridRequest(String pathGridRequest) {
		this.pathGridRequest = pathGridRequest;
		return this;
	}
	public String getPathGridEditRequest() {
		return pathGridEditRequest;
	}
	public SysMenu setPathGridEditRequest(String pathGridEditRequest) {
		this.pathGridEditRequest = pathGridEditRequest;
		return this;
	}
	public String getPathGridExportRequest() {
		return pathGridExportRequest;
	}
	public SysMenu setPathGridExportRequest(String pathGridExportRequest) {
		this.pathGridExportRequest = pathGridExportRequest;
		return this;
	}
	public String getPathCommitAdd() {
		return pathCommitAdd;
	}
	public SysMenu setPathCommitAdd(String pathCommitAdd) {
		this.pathCommitAdd = pathCommitAdd;
		return this;
	}
	public String getPathCommitEdit() {
		return pathCommitEdit;
	}
	public SysMenu setPathCommitEdit(String pathCommitEdit) {
		this.pathCommitEdit = pathCommitEdit;
		return this;
	}
	public String getPathCommitDelete() {
		return pathCommitDelete;
	}
	public SysMenu setPathCommitDelete(String pathCommitDelete) {
		this.pathCommitDelete = pathCommitDelete;
		return this;
	}
	public String getPathFlowPass() {
		return pathFlowPass;
	}
	public SysMenu setPathFlowPass(String pathFlowPass) {
		this.pathFlowPass = pathFlowPass;
		return this;
	}
	public String getPathFlowRefuse() {
		return pathFlowRefuse;
	}
	public SysMenu setPathFlowRefuse(String pathFlowRefuse) {
		this.pathFlowRefuse = pathFlowRefuse;
		return this;
	}
	public Long getSubGridId() {
		return subGridId;
	}
	public SysMenu setSubGridId(Long subGridId) {
		this.subGridId = subGridId;
		return this;
	}
	public String getIcon() {
		return icon;
	}
	public SysMenu setIcon(String icon) {
		this.icon = icon;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public SysMenu setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public SysMenu setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public SysMenu setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static SysMenu sysMenu(
		Long pid,
		Integer lev,
		Integer templetType,
		String templetPath,
		String name,
		String databaseTable,
		Integer sortNo,
		String nameShiroAuth,
		Long flowModelId,
		String pathGridRequest,
		String pathGridEditRequest,
		String pathGridExportRequest,
		String pathCommitAdd,
		String pathCommitEdit,
		String pathCommitDelete,
		String pathFlowPass,
		String pathFlowRefuse,
		Long subGridId,
		String icon,
		Integer status
			) {
		SysMenu entity = new SysMenu();
		entity.setPid(pid);
		entity.setLev(lev);
		entity.setTempletType(templetType);
		entity.setTempletPath(templetPath);
		entity.setName(name);
		entity.setDatabaseTable(databaseTable);
		entity.setSortNo(sortNo);
		entity.setNameShiroAuth(nameShiroAuth);
		entity.setFlowModelId(flowModelId);
		entity.setPathGridRequest(pathGridRequest);
		entity.setPathGridEditRequest(pathGridEditRequest);
		entity.setPathGridExportRequest(pathGridExportRequest);
		entity.setPathCommitAdd(pathCommitAdd);
		entity.setPathCommitEdit(pathCommitEdit);
		entity.setPathCommitDelete(pathCommitDelete);
		entity.setPathFlowPass(pathFlowPass);
		entity.setPathFlowRefuse(pathFlowRefuse);
		entity.setSubGridId(subGridId);
		entity.setIcon(icon);
		entity.setStatus(status);
		return entity;
	}
}